package com.ruoyi.miaomiao.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.miaomiao.domain.vo.TrolleyVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.miaomiao.mapper.TrolleyMapper;
import com.ruoyi.miaomiao.domain.Trolley;
import com.ruoyi.miaomiao.service.ITrolleyService;

/**
 * 购物车管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-07-26
 */
@Service
public class TrolleyServiceImpl implements ITrolleyService 
{
    @Autowired
    private TrolleyMapper trolleyMapper;

    /**
     * 查询购物车管理
     * 
     * @param trolleyId 购物车管理主键
     * @return 购物车管理
     */
    @Override
    public Trolley selectTrolleyByTrolleyId(Long trolleyId)
    {
        return trolleyMapper.selectTrolleyByTrolleyId(trolleyId);
    }

    /**
     * 查询购物车管理列表
     * 
     * @param trolley 购物车管理
     * @return 购物车管理
     */
    @Override
    public List<Trolley> selectTrolleyList(Trolley trolley)
    {
        return trolleyMapper.selectTrolleyList(trolley);
    }

    /**
     * 新增购物车管理
     * 
     * @param trolley 购物车管理
     * @return 结果
     */
    @Override
    public int insertTrolley(Trolley trolley)
    {
        trolley.setCreateTime(DateUtils.getNowDate());
        return trolleyMapper.insertTrolley(trolley);
    }

    /**
     * 修改购物车管理
     * 
     * @param trolley 购物车管理
     * @return 结果
     */
    @Override
    public int updateTrolley(Trolley trolley)
    {
        trolley.setUpdateTime(DateUtils.getNowDate());
        return trolleyMapper.updateTrolley(trolley);
    }

    /**
     * 批量删除购物车管理
     * 
     * @param trolleyIds 需要删除的购物车管理主键
     * @return 结果
     */
    @Override
    public int deleteTrolleyByTrolleyIds(Long[] trolleyIds)
    {
        return trolleyMapper.deleteTrolleyByTrolleyIds(trolleyIds);
    }

    /**
     * 批量删除购物车管理
     * @param userId 用户id
     * @param trolleyIds 需要删除的购物车管理主键
     * @return 结果
     */
    @Override
    public int deleteTrolleyByUserAndTrolleyIds(Long userId, Long[] trolleyIds) {
        return trolleyMapper.deleteTrolleyByUserAndTrolleyIds(userId, trolleyIds);
    }

    /**
     * 删除购物车管理信息
     * 
     * @param trolleyId 购物车管理主键
     * @return 结果
     */
    @Override
    public int deleteTrolleyByTrolleyId(Long trolleyId)
    {
        return trolleyMapper.deleteTrolleyByTrolleyId(trolleyId);
    }

    @Override
    public List<TrolleyVO> selectTrolleyByUserId(Long userId) {
        return trolleyMapper.selectTrolleyByUserId(userId);
    }
}
